package com.test6;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

/**
 * @program: mavenTest153
 * @description:
 * @author: zy
 * @create: 2025-07-10 10:47
 */
public class Test1 {
    public static void main(String[] args) {
         //测试B类上的注解是否为runtime级别
        //main运行 -> jvm ->　加载　Ｂ类　　－＞B类中的方法上的注解是  RetentionPolicy.RUNTIME
        // 所以可以通过反射机制获取到
       Method[] ms= B.class.getMethods();
       for(   Method m:ms){
           MyAnnotation myAnnotation= m.getAnnotation(MyAnnotation.class);
           if(myAnnotation!=null){
               System.out.println(myAnnotation.name());
           }
       }

       Field[] fs= B.class.getDeclaredFields();
       for(   Field f:fs){
           MyAnnotation myAnnotation= f.getAnnotation(MyAnnotation.class);
           if(myAnnotation!=null){
               System.out.println(myAnnotation.name());
           }
       }
    }
}
